package cn.ad.server.web.log;


import cn.ad.server.web.spring.service.actions.context.AdContext;
import cn.ad.server.web.spring.service.actions.context.BidContext;
import cn.ad.server.web.spring.service.actions.presentation.ClickPresentation;
import cn.ad.server.web.spring.service.actions.presentation.WinNoticePresentation;

/**
 * AdServer 事务日志服务接口
 * 声明了在Adserver系统中需要记录业务事务日志的基本方法
 * @author Administrator
 */
public interface IAdServerLogger {

	/**
	 * 记录Adserver Server to Server 中AdRequest事件
	 * 事件包括Adrequest请求参数以及Adresponse的基本响应结果
	 * @param data Adrequest事件
	 * @since 1.0 2.0版本后不推荐使用 
	 */
	@Deprecated
    public void logAdRequest(AdContext data);

    /**
     * 记录AdImpression事件
     * @param data AdImpression请求事件（广告展示事件）
     * @since 1.0
     * @deprecated 广告事件记录将统一采用{@link IAdEventLogger#log(AdserverEventLog)} 方法处理
     * @see IAdEventLogger
     */
	@Deprecated
    public void logAdImpression(ClickPresentation data);

    /**
     * 记录AdClick 事件
     * @param data 一次Ad Click事件(广告点击事件)
     * @deprecated 广告事件记录将统一采用{@link IAdEventLogger#log(AdserverEventLog)} 方法处理
     */
    @Deprecated
    public void logAdClick(ClickPresentation data);
    
    /**
     * 记录WinNoticePresentation 事件
     * @param data WinNoticePresentation
     * @since 1.0
     * @deprecated 广告事件记录将统一采用{@link IAdEventLogger#log(AdserverEventLog)} 方法处理
     */
    @Deprecated
    public void logWinNotice(WinNoticePresentation data);
    
    /**
     * 记录bidRequest 事件
     * @param data BidContext数据
     */
    @Deprecated
    public void logAdBidRequest(BidContext data);
}
